//using SubhadraSolutions.Sharp.Utils.Validation;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace SubhadraSolutions.Sharp.Utils.Validation.Validators
//{
//    public sealed class StringValidator : IValidator
//    {
//        public StringValidationType ValidationType
//        {
//            get;
//            set;
//        }

//        public ValidationResult Validate(object obj)
//        {
//            var s = (string)obj;
//            if (ValidationType == StringValidationType.NotNullOrEmpty)
//            {
//                if (string.IsNullOrEmpty(s))
//                {
//                    return new ValidationResult
//                    {
//                        Status = ValidationStatus.Failure,
//                        ErrorMessage = objectName + " is null or empty.",
//                        PropertyName = objectName
//                    };
//                }
//            }
//            else
//            {
//                if (string.IsNullOrWhiteSpace(s))
//                {
//                    return new ValidationResult
//                    {
//                        Status = ValidationStatus.Failure,
//                        ErrorMessage = objectName + " is null or empty or whitespace.",
//                        PropertyName = objectName
//                    };
//                }
//            }
//            return new ValidationResult
//            {
//                Status = ValidationStatus.Success
//            };
//        }
//    }
//}